/**
 ******************************************************************************
 * @file	task1_led_flash.c
 * Project: stm32f4discovery_freertos_gcc
 * /stm32f4discovery_freertos_gcc/project/tasks/task1_led_flash.c
 *
 * @author  hellstone
 * @date    23 lut 2014 
 *		    17:24:05
 *
 * @brief	task1_led_flash
 * @details 
 *
 * @copyright hellstone 2014
 *
 ******************************************************************************
 */

/******************************************************************************
 *	includes
 *****************************************************************************/
#include <stdint.h>
#include "task1_led_flash.h"

#include "FreeRTOS.h"
#include "task.h"

#include "test_led_driver.h"


/******************************************************************************
 *	local definitions, local macros
 *****************************************************************************/


/******************************************************************************
 *	constants, local variables
 *****************************************************************************/


/******************************************************************************
 *	local function prototypes
 *****************************************************************************/


/******************************************************************************
 *	global functions
 *****************************************************************************/

portTASK_FUNCTION( vTask1LedFlash, pvParameters )
{
	static portTickType xLastFlashTime;
	const portTickType xFrequency = 10u;

	( void ) pvParameters;

	xLastFlashTime = xTaskGetTickCount();

	TEST_LED_init();

	xLastFlashTime = xTaskGetTickCount();

	for(;;)
	{
		vTaskDelayUntil(&xLastFlashTime, xFrequency);

		TEST_LED_switchOnGreen();

		vTaskDelayUntil(&xLastFlashTime, xFrequency);

		TEST_LED_switchOffGreen();

		vTaskDelayUntil(&xLastFlashTime, xFrequency);

		TEST_LED_switchOnOrange();

		vTaskDelayUntil(&xLastFlashTime, xFrequency);

		TEST_LED_switchOffOrange();
	}
}


/******************************************************************************
 *	local functions
 *****************************************************************************/


/******************************************************************************
 *	ISR's
 *****************************************************************************/


/******************************************************************************
 *	END OF FILE task1_led_flash.c
 *****************************************************************************/
